home *** CD-ROM | disk | FTP | other *** search
/ Workbench Add-On / Workbench Add-On - Volume 1.iso / BBS-Archive / Dev / gcc263-src.lha / gcc-2.6.3 / config / i386 / aix386.h < prev    next >
C/C++ Source or Header  |  1993-06-17  |  2KB  |  69 lines

  1. /* Definitions for IBM PS2 running AIX/386 with gas.
  2.    From: Minh Tran-Le <TRANLE@intellicorp.com>
  3.    Copyright (C) 1988 Free Software Foundation, Inc.
  4.  
  5. This file is part of GNU CC.
  6.  
  7. GNU CC is free software; you can redistribute it and/or modify
  8. it under the terms of the GNU General Public License as published by
  9. the Free Software Foundation; either version 2, or (at your option)
  10. any later version.
  11.  
  12. GNU CC is distributed in the hope that it will be useful,
  13. but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15. GNU General Public License for more details.
  16.  
  17. You should have received a copy of the GNU General Public License
  18. along with GNU CC; see the file COPYING.  If not, write to
  19. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  20.  
  21. /* 
  22.  * This configuration file is for gcc with gas-2.x and gnu ld 2.x
  23.  * with aix ps/2 1.3.x.
  24.  */
  25.  
  26. /* Define USE_GAS if you have the new version of gas that can handle
  27.  * multiple segments and .section pseudo op.  This will allow gcc to
  28.  * use the .init section for g++ ctor/dtor.
  29.  *
  30.  * If you don't have gas then undefined USE_GAS.  You will also have
  31.  * to use collect if you want to use g++
  32.  */
  33. #define USE_GAS
  34.  
  35. #include "i386/aix386ng.h"
  36.  
  37. /* Use crt1.o as a startup file and crtn.o as a closing file.
  38.    And add crtbegin.o and crtend.o for ctors and dtors */
  39.  
  40. #undef  STARTFILE_SPEC
  41. #define STARTFILE_SPEC \
  42.   "%{pg:gcrt0.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}} crtbegin.o%s"
  43. #undef  ENDFILE_SPEC
  44. #define ENDFILE_SPEC \
  45.   "crtend.o%s crtn.o%s"
  46.  
  47. /* Removed the -K flags because the gnu ld does not handle it */
  48. #undef LINK_SPEC
  49. #define LINK_SPEC "%{T*} %{z:-lm}"
  50.  
  51. /* Define a few machine-specific details of the implementation of
  52.    constructors.  */
  53.  
  54. #undef INIT_SECTION_ASM_OP
  55. #define INIT_SECTION_ASM_OP     ".section .init,\"x\""
  56.  
  57. #define CTOR_LIST_BEGIN                \
  58.   asm (INIT_SECTION_ASM_OP);            \
  59.   asm ("pushl $0")
  60. #define CTOR_LIST_END CTOR_LIST_BEGIN
  61.  
  62. #define ASM_OUTPUT_CONSTRUCTOR(FILE,NAME)    \
  63.   do {                        \
  64.     init_section ();                \
  65.     fprintf (FILE, "\tpushl $");        \
  66.     assemble_name (FILE, NAME);            \
  67.     fprintf (FILE, "\n");            \
  68.   } while (0)
  69.